package com.example.springkotlin.contactInfo.domain

import org.springframework.stereotype.Service
import java.util.regex.Pattern



@Service
class ContactInfoService{

    /**
     * 需求：传入邮箱，手机号，从中筛选合格的邮箱和手机号，并将以qq.com结尾的邮箱返回
     */
    fun handleEmailData(contactInfoList: ArrayList<ContactInfo>):List<ContactInfo>{
        // 正则校验邮箱
        var mainRegex = "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}\$"
        var p = Pattern.compile(mainRegex)

        //filter 函数有返回值，但不会改变被调用的对象
        // map函数有返回值，但返回值不和调用者类型相同。map中的操作会改变调用者本身的数据
        val list = contactInfoList.filter { it.phone.length==11 && p.matcher(it.email).matches() }
//            .map{^
//            it.email = "1234@qq.com"6
//        }


        return list

    }
}